<?php

/**
 * Etudiants
 */
class Etudiants extends CI_Model
{
	//TABLE ETUDIANTS
	const TABLE_ETUDIANT	= 'etudiants';
	const ID_ETU  			= 'ETUDIANTID';
	const LOGIN_ETU			= 'LOGINET';
	const MAIL_ETU			= 'MAILET';
	const NOM_ETU			= 'NOMET';
	const PRENOM_ETU		= 'PRENOMET';
	
	//TABLE ETUDIANTSPROMO
	const TABLE_ETUDIANT_PROMO	= 'etudiantspromos';
	const ID_ETU_PROMO 			= 'ETUDIANTID';
	const TD_ETU_PROMO 			= 'TD';
	
    /**
     * @var integer
     */
    private $id;

    /**
     * @var string
     */
    private $login;

    /**
     * @var string
     */
    private $nom;

    /**
     * @var string
     */
    private $prenom;

    /**
     * @var string
     */
    private $mail;
    
    /**
     * @ver string
     */
    private $groupe;

    
    /**
     * fonction permettant de récupérer un étudiant avec son login
     * @param string $login
     * @return Etudiants
     */
    public static function findById($id)
    {
    	$CI=get_instance();
    	
    	$CI->load->database('db_etudiant', true);
    	$resultat = $CI->db	->select('e.'.Etudiants::ID_ETU.', e.'.Etudiants::LOGIN_ETU.', e.'.Etudiants::MAIL_ETU.', e.'.Etudiants::NOM_ETU.', e.'.Etudiants::PRENOM_ETU.', ep.'.Etudiants::TD_ETU_PROMO)
					    	->from(Etudiants::TABLE_ETUDIANT.' e')
 					    	->join(Etudiants::TABLE_ETUDIANT_PROMO.' ep', 'e.'.Etudiants::ID_ETU.' = ep.'.Etudiants::ID_ETU_PROMO)
					    	->where('e.'.Etudiants::ID_ETU, $id)
					    	->get()
					    	->result_array();
    	 
    	if(!empty($resultat))
    	{
    		$etudiant = new Etudiants();
    		$etudiant->setId($resultat[0][self::ID_ETU]);
    		$etudiant->setLogin($resultat[0][self::LOGIN_ETU]);
    		$etudiant->setMail($resultat[0][self::MAIL_ETU]);
    		$etudiant->setNom($resultat[0][self::NOM_ETU]);
    		$etudiant->setPrenom($resultat[0][self::PRENOM_ETU]);
    		$etudiant->setGroupe($resultat[0][self::TD_ETU_PROMO]);
    		
    		return $etudiant;
    	}
    	return false;
    }
    
    public static function findByLogin($login)
    {
    	$CI=get_instance();
    	 
    	$CI->load->database('db_etudiant', true);
    	$resultat = $CI->db	->select('e.'.Etudiants::ID_ETU.', e.'.Etudiants::LOGIN_ETU.', e.'.Etudiants::MAIL_ETU.', e.'.Etudiants::NOM_ETU.', e.'.Etudiants::PRENOM_ETU.', ep.'.Etudiants::TD_ETU_PROMO)
					    	->from(Etudiants::TABLE_ETUDIANT.' e')
					    	->join(Etudiants::TABLE_ETUDIANT_PROMO.' ep', 'e.'.Etudiants::ID_ETU.' = ep.'.Etudiants::ID_ETU_PROMO)
					    	->where('e.'.Etudiants::LOGIN_ETU, $login)
					    	->get()
					    	->result_array();
    
    	if(!empty($resultat))
    	{
    		$etudiant = new Etudiants();
    		$etudiant->setId($resultat[0][self::ID_ETU]);
    		$etudiant->setLogin($resultat[0][self::LOGIN_ETU]);
    		$etudiant->setMail($resultat[0][self::MAIL_ETU]);
    		$etudiant->setNom($resultat[0][self::NOM_ETU]);
    		$etudiant->setPrenom($resultat[0][self::PRENOM_ETU]);
    		$etudiant->setGroupe($resultat[0][self::TD_ETU_PROMO]);
    
    		return $etudiant;
    	}
    	return false;
    }
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
    
    /**
     * Set id
     *
     * @return Etudiants
     */
    public function setId($id)
    {
    	 $this->id = $id;
    }

    /**
     * Set login
     *
     * @param string $login
     * @return Etudiants
     */
    public function setLogin($login)
    {
        $this->login = $login;
    }

    /**
     * Get login
     *
     * @return string 
     */
    public function getLogin()
    {
        return $this->login;
    }

    /**
     * Set nom
     *
     * @param string $nom
     * @return Etudiants
     */
    public function setNom($nom)
    {
        $this->nom = $nom;
    }

    /**
     * Get nom
     *
     * @return string 
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Set prenom
     *
     * @param string $prenom
     * @return Etudiants
     */
    public function setPrenom($prenom)
    {
        $this->prenom = $prenom;
    }

    /**
     * Get prenom
     *
     * @return string 
     */
    public function getPrenom()
    {
        return $this->prenom;
    }

    /**
     * Set mail
     *
     * @param string $mail
     * @return Etudiants
     */
    public function setMail($mail)
    {
        $this->mail = $mail;
    }

    /**
     * Get mail
     *
     * @return string 
     */
    public function getMail()
    {
        return $this->mail;
    }
    
    /**
     * Set groupe
     *
     * @param string $groupe
     * @return Etudiants
     */
    public function setGroupe($groupe)
    {
    	$this->groupe = $groupe;
    }
    
    /**
     * Get groupe
     *
     * @return string
     */
    public function getGroupe()
    {
    	return $this->groupe;
    }
}